package com.monitor.entity;

import com.baomidou.mybatisplus.activerecord.Model;
import com.baomidou.mybatisplus.annotations.TableField;
import com.baomidou.mybatisplus.annotations.TableId;
import com.baomidou.mybatisplus.annotations.TableName;
import com.baomidou.mybatisplus.enums.IdType;

import java.io.Serializable;
import java.util.List;

/**
 * <p>
 * 物料流转表
 * </p>
 *
 * @author LX
 * @since 2018-09-08
 */
@TableName("erp_materiel_flow")
public class ErpMaterielFlow extends Model<ErpMaterielFlow> {

    private static final long serialVersionUID = 1L;

    @TableId(value = "id", type = IdType.AUTO)
    private Integer id;
    /**
     * 物料流转日期
     */
    @TableField("materiel_flow_date")
    private String  materielFlowDate;
    /**
     * 物料流转单号  工作单号
     */
    @TableField("materiel_flow_sheet_id")
    private String materielFlowSheetId;
    /**
     * 来源仓库 ID
     */
    @TableField("source_warehouse_id")
    private Integer sourceWarehouseId;
    @TableField("source_warehouse_name")
    private String sourceWarehouseName;
    /**
     * 来源客户 ID
     */
    @TableField("source_customer_id")
    private Integer sourceCustomerId;
    @TableField("source_customer_name")
    private String sourceCustomerName;
    /**
     * 去向仓库id
     */
    @TableField("warehouse_id")
    private Integer warehouseId;
    @TableField("warehouse_name")
    private String warehouseName;
    /**
     * 去向客户id
     */
    @TableField("customer_id")
    private Integer customerId;
    @TableField("customer_name")
    private String customerName;
    /**
     * 收付方式
     */
    @TableField("materiel_flow_payment_method")
    private String materielFlowPaymentMethod;
    /**
     * 承运企业
     */
    @TableField("transport_customer")
    private String transportCustomer;
    /**
     * 承运车辆牌号
     */
    @TableField("transport_car")
    private String transportCar;
    /**
     * 运杂费
     */
    @TableField("transport_cost")
    private Double transportCost;
    /**
     * 承运发票0未开
     */
    @TableField("transport_invoice")
    private Integer transportInvoice;
    /**
     * 托运付款0未付1已付款
     */
    @TableField("transport_pay")
    private Integer transportPay;
    /**
     * 托运收款0未付1已付款
     */
    @TableField("transport_receivables")
    private Integer transportReceivables;
    /**
      * 发票类型
     */
    @TableField("Invoice_type")
    private String invoiceType;
    /**
     * 经办人
     */
    @TableField("materiel_flow_attn")
    private String materielFlowAttn;
    /**
     * 流转类型
     */
    @TableField("flow_type")
    private String flowType;
    /**
     * 物料流转方向0入库
     */
    @TableField("flow_direction")
    private Integer flowDirection;
    /**
     * 当前流转单属于的客户
     */
    @TableField("the_id")
    private Integer theId;
    /**
     * 开发票状态0未开发票1开发票
     */
    @TableField("invoice_state")
    private Integer invoiceState;
    /**
     * 付款状态0未付款1已付款
     */
    @TableField("pay_state")
    private Integer payState;
    //总价
    private double allamount;
    
    /**
     * 运输发票类型
    */
   @TableField("yun_Invoice_type")
   private String yunInvoiceType;
   
   /**
    * 采购订单单号(对方单号)
   */
   @TableField("cai_sheet_id")
   private String caiSheetId;
  
   /**
    * 库管经办
   */
   @TableField("ku_attn")
   private String kuAttn;
   
   /**
    * 运输经办
   */
   @TableField("yun_attn")
   private String yunAttn;
   
    /**
     * 出库用的
     */
   private transient List<ErpMateriel> erpMateriels;

   private  transient Integer gocustId;

   private transient Integer custId;
   
   

    public String getCaiSheetId() {
		return caiSheetId;
	}
	
	public void setCaiSheetId(String caiSheetId) {
		this.caiSheetId = caiSheetId;
	}
	
	public String getKuAttn() {
		return kuAttn;
	}
	
	public void setKuAttn(String kuAttn) {
		this.kuAttn = kuAttn;
	}
	
	public String getYunAttn() {
		return yunAttn;
	}
	
	public void setYunAttn(String yunAttn) {
		this.yunAttn = yunAttn;
	}

	public Integer getGocustId() {
        return gocustId;
    }

    public void setGocustId(Integer gocustId) {
        this.gocustId = gocustId;
    }

    public Integer getCustId() {
        return custId;
    }

    public void setCustId(Integer custId) {
        this.custId = custId;
    }

    public List<ErpMateriel> getErpMateriels() {
        return erpMateriels;
    }

    public void setErpMateriels(List<ErpMateriel> erpMateriels) {
        this.erpMateriels = erpMateriels;
    }

    public double getAllamount() {
        return allamount;
    }

    public void setAllamount(double allamount) {
        this.allamount = allamount;
    }

    private transient ErpMateriel materiel;

    private transient List<ErpMaterielFlowSummary> flowSummaryList;

    public List<ErpMaterielFlowSummary> getFlowSummaryList() {
        return flowSummaryList;
    }

    public void setFlowSummaryList(List<ErpMaterielFlowSummary> flowSummaryList) {
        this.flowSummaryList = flowSummaryList;
    }

    public ErpMateriel getMateriel() {
        return materiel;
    }

    public void setMateriel(ErpMateriel materiel) {
        this.materiel = materiel;
    }

    public Integer getId() {
        return id;
    }

    public void setId(Integer id) {
        this.id = id;
    }

    public String getMaterielFlowDate() {
        return materielFlowDate;
    }

    public void setMaterielFlowDate(String materielFlowDate) {
        this.materielFlowDate = materielFlowDate;
    }

    public String getMaterielFlowSheetId() {
        return materielFlowSheetId;
    }

    public void setMaterielFlowSheetId(String materielFlowSheetId) {
        this.materielFlowSheetId = materielFlowSheetId;
    }

    public Integer getSourceWarehouseId() {
        return sourceWarehouseId;
    }

    public void setSourceWarehouseId(Integer sourceWarehouseId) {
        this.sourceWarehouseId = sourceWarehouseId;
    }

    public String getSourceWarehouseName() {
        return sourceWarehouseName;
    }

    public void setSourceWarehouseName(String sourceWarehouseName) {
        this.sourceWarehouseName = sourceWarehouseName;
    }

    public Integer getSourceCustomerId() {
        return sourceCustomerId;
    }

    public void setSourceCustomerId(Integer sourceCustomerId) {
        this.sourceCustomerId = sourceCustomerId;
    }

    public String getSourceCustomerName() {
        return sourceCustomerName;
    }

    public void setSourceCustomerName(String sourceCustomerName) {
        this.sourceCustomerName = sourceCustomerName;
    }

    public Integer getWarehouseId() {
        return warehouseId;
    }

    public void setWarehouseId(Integer warehouseId) {
        this.warehouseId = warehouseId;
    }

    public String getWarehouseName() {
        return warehouseName;
    }

    public void setWarehouseName(String warehouseName) {
        this.warehouseName = warehouseName;
    }

    public Integer getCustomerId() {
        return customerId;
    }

    public void setCustomerId(Integer customerId) {
        this.customerId = customerId;
    }

    public String getCustomerName() {
        return customerName;
    }

    public void setCustomerName(String customerName) {
        this.customerName = customerName;
    }

    public String getMaterielFlowPaymentMethod() {
        return materielFlowPaymentMethod;
    }

    public void setMaterielFlowPaymentMethod(String materielFlowPaymentMethod) {
        this.materielFlowPaymentMethod = materielFlowPaymentMethod;
    }

    public String getTransportCustomer() {
        return transportCustomer;
    }

    public void setTransportCustomer(String transportCustomer) {
        this.transportCustomer = transportCustomer;
    }

    public String getTransportCar() {
        return transportCar;
    }

    public void setTransportCar(String transportCar) {
        this.transportCar = transportCar;
    }

    public Double getTransportCost() {
        return transportCost;
    }

    public void setTransportCost(Double transportCost) {
        this.transportCost = transportCost;
    }

    public Integer getTransportInvoice() {
        return transportInvoice;
    }

    public void setTransportInvoice(Integer transportInvoice) {
        this.transportInvoice = transportInvoice;
    }

    public Integer getTransportPay() {
        return transportPay;
    }

    public void setTransportPay(Integer transportPay) {
        this.transportPay = transportPay;
    }

    public Integer getTransportReceivables() {
        return transportReceivables;
    }

    public void setTransportReceivables(Integer transportReceivables) {
        this.transportReceivables = transportReceivables;
    }

    public String getInvoiceType() {
        return invoiceType;
    }

    public void setInvoiceType(String invoiceType) {
        this.invoiceType = invoiceType;
    }

    public String getMaterielFlowAttn() {
        return materielFlowAttn;
    }

    public void setMaterielFlowAttn(String materielFlowAttn) {
        this.materielFlowAttn = materielFlowAttn;
    }

    public String getFlowType() {
        return flowType;
    }

    public void setFlowType(String flowType) {
        this.flowType = flowType;
    }

    public Integer getFlowDirection() {
        return flowDirection;
    }

    public void setFlowDirection(Integer flowDirection) {
        this.flowDirection = flowDirection;
    }

    public Integer getTheId() {
        return theId;
    }

    public void setTheId(Integer theId) {
        this.theId = theId;
    }

    public Integer getInvoiceState() {
        return invoiceState;
    }

    public void setInvoiceState(Integer invoiceState) {
        this.invoiceState = invoiceState;
    }

    public Integer getPayState() {
        return payState;
    }

    public void setPayState(Integer payState) {
        this.payState = payState;
    }

    @Override
    protected Serializable pkVal() {
        return this.id;
    }
    
    

    public String getYunInvoiceType() {
		return yunInvoiceType;
	}

	public void setYunInvoiceType(String yunInvoiceType) {
		this.yunInvoiceType = yunInvoiceType;
	}

	@Override
    public String toString() {
        return "ErpMaterielFlow{" +
        ", id=" + id +
        ", materielFlowDate=" + materielFlowDate +
        ", materielFlowSheetId=" + materielFlowSheetId +
        ", sourceWarehouseId=" + sourceWarehouseId +
        ", sourceWarehouseName=" + sourceWarehouseName +
        ", sourceCustomerId=" + sourceCustomerId +
        ", sourceCustomerName=" + sourceCustomerName +
        ", warehouseId=" + warehouseId +
        ", warehouseName=" + warehouseName +
        ", customerId=" + customerId +
        ", customerName=" + customerName +
        ", materielFlowPaymentMethod=" + materielFlowPaymentMethod +
        ", transportCustomer=" + transportCustomer +
        ", transportCar=" + transportCar +
        ", transportCost=" + transportCost +
        ", transportInvoice=" + transportInvoice +
        ", transportPay=" + transportPay +
        ", transportReceivables=" + transportReceivables +
        ", invoiceType=" + invoiceType +
        ", materielFlowAttn=" + materielFlowAttn +
        ", flowType=" + flowType +
        ", flowDirection=" + flowDirection +
        ", theId=" + theId +
        ", invoiceState=" + invoiceState +
        ", payState=" + payState +
        "}";
    }
}
